package com.czk.scala.chapter05

/**
 * @Author:ChenZhangKun
 * @Date: 2021/12/29 18:59
 */
object Test11_ControlAbstraction {
  def main(args: Array[String]): Unit = {
    def f0(a: Int): Unit = {
      println(a)
    }

    f0(23)

    def f1(): Int = {
      println("f1调用")
      12
    }
    // 传值参数
    f0(f1())

    // 2 传名参数 传递一部分代码块
    //
    def f2(a: => Int): Unit = {
      // 相当于a替换为f1(),a调用了几次，则f1调用了几次
      println("a = "+a)

      println("a = "+a)
    }

    f2(24)
    // 传递函数
    f2(f1())
  }
}
